<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>对象解构</title>
  <script type="text/javascript">
    /**
     * 细节说明
     * 1. 对象解构时，let{name, age} 中的 name 和 age 名称需要和对象属性名保持一致
     * 2. 也可解构对象部分属性，比如 let{age} 这样就只取出age 属性
     * 3. 还有其它的形式,比如方法上使用对象解构
     */
    let monster  = {name:'牛魔王',age:800};

    //1.传统方式取出属性-解构 对象名.属性名
    console.log(monster.name,monster.age);
    //2.ES6对象解构
    //1)把monster对象的属性, 赋值给{name,age}
    //2）{name,age} 的取名name 和 age 要和monster对象的属性名保持一致
    //3)使用{} 包括, 不要使用[]
    //4){name,age} 顺序是无所谓
    let {name,age} = monster;
    console.log(name,age);
    //也可以这样写
    // let {name,age} = {name:'牛魔王',age:800};

    //方法上使用对象解构
    //如果这样使用，仍然要保证名称和对象的属性名一致
    function f1(name,age){
      console.log("f1-name=", name, " ", "f1-age=", age)
    }
    f1(monster);
  </script>
</head>
<body>
</body>
</html>
